Synchronous C++: A Language for Interactive Applcations

نویسنده

  • Claude Petitpierre
چکیده

D eveloped at the Ecole Polytechnique Fédérale of Lausanne, Switzerland, Synchronous C++ has strong connections to the domains of concurrency, behavior analysis, and OO programming. Namely, sC++ contains a real-time kernel, lends itself to analysis by modern modeling and analysis theories, 1-3 and uses the same syntax for active objects as for passive ones. Understanding the relationship of concurrency to general OO programming is essential for understanding the benefits of sC++. To help clarify this relationship , let's focus on the OMT/Rumbaugh 4 OO technique. According to this method, application development should proceed in three phases: analysis, design, and implementation. The analysis phase produces three models—object, dynamic, and functional—while the design phase builds on these models to prepare for the implementation phase. The object model specifies the data components pertinent to the application, their attributes, and the operations that characterize them. The dynamic model specifies operation sequence using state diagrams. The functional model uses dataflow diagrams to specify data inputs and outputs, sources and sinks, and the location of transmission and reception. Basically, the object model describes the data while the other two models describe aspects that are usually related to con-currency. The aspects captured in the functional model are closely related to message passing and parallelism. OO languages such as C++ provide good support for implementing the object model, but their support for implementing the dynamic and functional models is not so good. In fact, it requires significant programmer involvement. sC++ makes the implementation of these two models much more straightforward. In this article, I focus on examples in which the dynamic and functional models dominate and the object model is secondary. In doing so, I propose a mapping between the elements of all three models and sC++ statements. Several other concepts have been proposed to extend OO languages to concurrency: delayed evaluations (a concept that proposes to launch each method on a separate thread, as in Actors 5), processes orthogonal to the objects (Ada), asynchronous channels and exceptions (Eiffel 6), and others. However, the researchers who proposed these solutions emphasized the improvements of speed they expected from achieving concurrency, rather than the characteristics that make concurrency suitable for the analysis and the implementation of specifications such as the ones provided by models. sC++ introduces the concept of an active object. The syntax of the definition, instantiation, reference, call, inheritance, and deletion of an active object is identical to …

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Reactive C: An Extension of C to Program Reactive Systems

Reactive systems are interactive programs that react continuously to sequences of activations coming from the external world. Reactive programming leads to a new programming style where one programs in terms of reactions to activations and reasons in a logic of instants. This paper describes an extension of the C programming language called RC (for ‘Reactive C’) to program reactive systems. The...

متن کامل

A Formal Interactive Verification Environment for the Plan Execution Interchange Language

The Plan Execution Interchange Language (PLEXIL) is an open source synchronous language developed by NASA for commanding and monitoring autonomous systems. This paper reports the development of the PLEXIL’s Formal Interactive Verification Environment (PLEXIL5), a graphical interface to the formal executable semantics of PLEXIL. Among its main features, PLEXIL5 provides model checking of plans w...

متن کامل

IMPACT OF SYNCHRONOUS COMPUTER-MEDIATED COMMUNICATION ON EFL LEARNERS’ COLLABORATION: A QUANTITATIVE ANALYSIS

For the last two decades, computers have entered people’s lives in an unprecedented manner in a way that almost everybody considers life without them rather impossible. In recent years, researchers and educators have been trying to discover how computers and the Internet technology can maximize the quality of language instruction. As such, the present experimental study sought to investigate th...

متن کامل

Testing the CARE Properties of Multimodal Applications by Means of a Synchronous Approach

Multimodal interactive applications support several interaction modalities (e.g., voice, gesture), which may be combined. As a result, designing and testing such applications is more complex than classical graphical applications. In this context, formal methods can make the development process more reliable. In this paper we focus on a testing approach dedicated to synchronous software. Althoug...

متن کامل

Formal Testing of Multimodal Interactive Systems

This paper presents a method for automatically testing interactive multimodal systems. The method is based on the Lutess testing environment, originally dedicated to synchronous software specified using the Lustre language. The behaviour of synchronous systems, consisting of cycles starting by reading an external input and ending by issuing an output, is to a certain extent similar to the one o...

متن کامل

Verification Condition Generation for Hybrid Systems described by Synchronous Languages

While synchronous programming languages like Esterel and Quartz are capable of modeling embedded systems, extensions like Hybrid Quartz are needed to model hybrid systems. These systems contain continuous behavior additional to their discrete states. Since embedded systems are safety-critical in many applications, formal verification is needed to check programs against their specification. In t...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • IEEE Computer

دوره 31  شماره 

صفحات  -

تاریخ انتشار 1998